GE 423 Final Project

Project overview

Our group implemented the A-Star path planning algorithm to navigate potential obstacles within the course.  To do this, we created a file with the locations of all the potential obstacles, and then compared those locations with the x and y positions of the LADAR readings.  If the LADAR reading was within .25 of a tile from the center of an obstacle, that obstacle was marked in the map, and the robot knew to avoid it.  Additionally, every time a new obstacle was identified, A-Star was run again to develop the most efficient route.

We used the front mounted camera to identify orange and blue golf balls.  We set the HSV thresholds for orange and blue separately, and when one was identified, path planning was overridden, and the robot drove directly toward the golf ball to collect it.  This worked very well, as our robot was able to collect and deposit all five golf balls very reliably.  Our gripper mechanism utilized two servos that controlled a front door that was opened to collect golf balls and an internal servos that was used to keep orange and blue golf balls separate.

Lastly, we build a LabView program to display the robot’s position within the course.  As the robot traversed the course, LabView was updated to display the golf balls and obstacles the robot had identified. 

Gripper

The above image shows our robot’s gripper with the front door closed.  It is operated by a servo mounted above that is commanded when a golf ball is detected. 

The above image shows a front view of our gripper with the door open.  Inside, a sweeping arm is positioned in the center.  When a blue golf ball is detected, the arm sweeps one direction, and when an orange golf ball is detected, it sweeps in the opposite direction.  This way, the balls can be kept separate and deposited in their respective bins. 

The above image shows our gripper with the front door open.  The sweeping arm can also be seen inside.

Team Members

Cody McClintock Cody McClintock

 Luis Urrutia

Joel Sarmiento Joel Sarmiento

Justin Hunter Justin Hunter

Contest Video

Course 1

Course 2

Results

Our robot placed second out of seven teams in the competition.  We were able to correctly identify all five golf balls, display their positions very accurately in LabView, and then collect the golf balls.  Ultimately, we lost based on time.  The team ahead of us was able to identify and collect all the golf balls as well, but their code was more efficient in path planning after collecting a golf ball. 

Future Improvements

The main fault with our program was the way we got back into A-Star after collecting a golf ball.  Our program overrode A-Star and tracked a golf ball when one was detected, but after it was collected, our robot had to return to its previous position before continuing toward the next objective.  This cost us a significant amount of time.  Instead, we should have had our robot recalculate its position right after collecting a ball and then run path plan so as to not waste time backtracking.  We believe with this improvement, our robot might have had a chance to win the competition.